A computer may use hard-disk drives (HDD) for storing data that is needed for operation of the computer. A typical HDD includes a magnetic read/write head and one or more magnetic disks for storing data. But for clarity, hereinafter a HDD is discussed as including only a single disk. Historically brushless DC motors (BLDG motor), such as three-phase brushless DC motors may be used for driving a HDD according to a method in which one of the coils is always floating while the other two coils are being driven with current. To rotate the disk at a constant torque, the shape of the driving wave forms are generally trapezoidal. However, it may be difficult to generate a trapezoidal waveform having a sharp “corner,” and generating the driving waveforms with even a few degrees offset from their optimum phase relationship may introduce a significant amount of torque ripple in the rotating disk. Nowadays, BLDC motors are driven from signals that are derived from detecting the motor position based upon a measurement of a back electromotive force (BEMF) generated by the coils of the motor. As such, BLDC motors are designed to detect a sine-wave BEMF on each phase and then drive the BLDC motor by injecting sine-wave phase currents, resulting in constant torque (no ripple). Such detection of the motor position without Hall sensors (as has been used in the past) is referred to as a sensorless driving technique. With sensorless driving, however, a perturbation is introduced in each sine-wave phase current due to the manner in which the BEMF is detected resulting in a different torque ripple.
Torque ripple in a disk drive occurs when the torque applied to a rotating disk varies. For example, the disk torque may vary periodically, and may thus cause a vibration in the disk. That is, with a torque ripple, the disk does not rotate at a constant speed, but jitters, i.e., repeats a sequence of speeding up and slowing down. One reason to reduce or eliminate torque ripple in a disk drive is to ease the design tolerances of the circuits in the disk-drive controller and read channel. Another reason for reducing torque ripple is a reduction in acoustic noise generated by the HDD. Therefore, reduction in torque ripple in an operating HDD is desired.